var calRateDataTable = null;

$(document).ready(function() {

	renderDataTable();

	$("#refresh").click(function() {

		$('#inputWaterTo').val("");
		$('#inputWaterEnd').val("");
		$('#inputWaterRate').val("");
		$('#inputWaterBase').val("");
		$('#inputWaterBaseCharge').val("");

		$('#oldCodeID').val("");
		$('#oldCodeID2').val("");
		$("#oldCustomerClass").val("");

		// $("select#inputCustomerClass > option[value="+ "" +
		// "]").prop("selected", true);

		var table = $('#calRateDataTable').DataTable();
		table.$('tr.selected').removeClass('selected');
	});

});

function renderDataTable() {

	var customerClass = $('#inputCustomerClass').val();

	if ($.fn.dataTable.isDataTable('#calRateDataTable')) {
		calRateDataTable.clear().draw();
		calRateDataTable.destroy();
	}

	calRateDataTable = $('#calRateDataTable')
			.DataTable(
					{
						"oLanguage" : {
							"oPaginate" : {
								"sFirst" : "หน้าแรก",// ปุ่มกลับมาหน้าแรก
								"sLast" : "หนัาสุดท้าย",// ปุ่มไปหน้าสุดท้าย
								"sNext" : "ถัดไป", // ปุ่มหน้าถัดไป
								"sPrevious" : "ก่อนหน้า" // ปุ่ม กลับ
							},
							"sLengthMenu" : "แสดง _MENU_ รายการ ต่อหน้า",
							"sZeroRecords" : "ไม่พบข้อมูลที่ค้นหา",
							"sInfo" : "แสดง _START_ ถึง _END_ จากทั้งหมด _TOTAL_ รายการ",
							"sEmptyTable" : "ไม่พบรายการข้อมูล",
							"sLoadingRecords" : "ระบบกำลังประมวลผล กรุณารอซักครู่",
							"sProcessing" : "ประมวลผลข้อมูล",
							"sInfoEmpty" : "ไม่พบรายการข้อมูลที่แสดง",
							"sInfoFiltered" : "(จากทั้งหมด _MAX_ รายการ)",
							"sSearch" : "ค้นหา :"
						},
						searching : true,
						"aoColumns" : [
								{
									"sTitle" : "ลำดับ",
									sClass : "alignCenter",
									sWidth : '8%'
								},
								{
									"sTitle" : "น้ำใช้ตั้งแต่ (>=ลบ.ม.)",
									sClass : "text-right",
									sWidth : '16%'
								},
								{
									"sTitle" : "น้ำใช้ถึง (<=ลบ.ม.)",
									sClass : "text-right",
									sWidth : '16%'
								},
								{
									"sTitle" : "อัตราค่าน้ำ (บาท)",
									sClass : "text-right",
									sWidth : '16%',
								},
								{
									"sTitle" : "ฐานน้ำ",
									sClass : "text-right",
									sWidth : '16%',
								},
								{
									"sTitle" : "ฐานเงิน (บาท)",
									sClass : "text-right",
									sWidth : '16%',
								},
								{
									"sTitle" : "จัดการ",
									sClass : "alignCenter table-action",
									sWidth : '12%',
									"bSortable" : false,
									"mRender" : function(data, type, full) {
										return '<i class="fa fa-wrench" title="แก้ไขข้อมูล" onclick="editData(\''
												+ full[0]
												+ '\',\''
												+ full[1]
												+ '\',\''
												+ full[2]
												+ '\',\''
												+ full[3]
												+ '\',\''
												+ full[4]
												+ '\',\''
												+ full[5]
												+ '\');"></i> '
												+ '<i class="fa fa-trash-o" title="ลบข้อมูล" onclick="deleteData(\''
												+ full[0]
												+ '\', \''
												+ full[1]
												+ '\',\''
												+ full[2]
												+ '\',\''
												+ full[3] 
												+ '\',\''
												+ full[4] 
												+ '\',\''
												+ full[5] 
												+ '\');"></i>';
									}
								} ],
						// "bPaginate": false,
						"bInfo" : false,
						"sPaginationType" : "full_numbers",// แสดงตัวแบ่งหน้า
						"bLengthChange" : true, // แสดงจำนวน record
						// ที่จะแสดงในตาราง
						"iDisplayLength" : 10, // กำหนดค่า default ของจำนวน
						// record
						"bScrollCollapse" : true,
						"aLengthMenu" : [ [ 10, 25, 50, 100, -1 ], // จำนวนที่แสดงในตาราง
						[ 10, 25, 50, 100, "ทั้งหมด" ] // จำนวนที่ให้เลือก
						],
						"bProcessing" : true, // เขียนโค้ดโดยระบุให้ไปดึงข้อมูลจากไฟล์
						// getDataTable มาทำงาน
						// โดยเอาข้อมูลที่ได้มาแสดงใน
						// table
						"iDeferLoading" : 11,
						"sAjaxSource" : "CS12003Srvl?process_type=getDataTable&customerClass="
								+ customerClass,
					});
}

function getDbStatus() {

	var jqXHR = $.ajax({
		type : 'POST',
		url : "CS12003Srvl",
		data : {
			process_type : "db",
		},
		async : false,
		success : function(data) {
			if (data == "connect_db_fail") {  
				$("#modal_content_errorModal").html(
						"ไม่สามารถติดต่อฐานข้อมูลได้");
				$('#errorModal').modal();
			}
		}
	});

	return jqXHR.responseText;
}

function SaveCommand() {

	var inputWaterTo = $('#inputWaterTo').val();
	var inputWaterEnd = $('#inputWaterEnd').val();
	var inputWaterRate = $('#inputWaterRate').val();
	var inputWaterBase = $('#inputWaterBase').val();
	var inputWaterBaseCharge = $('#inputWaterBaseCharge').val();
	var inputCustomerClassText = $('#inputCustomerClass option:selected')
			.text();
	var inputCustomerClassVal = $('#inputCustomerClass option:selected').val();
	var statusUpdate = $('#oldCodeID').val();

	if (inputWaterTo.trim().length == 0 || inputWaterEnd.trim().length == 0
			|| inputWaterRate.trim().length == 0
			|| inputWaterBase.trim().length == 0
			|| inputWaterBaseCharge.trim().length == 0) {
		document.getElementById("modal_content").innerHTML = "กรุณากรอกข้อมูลให้ครบถ้วน";
		$('#warningModal').modal();
	} else if (inputCustomerClassVal.trim().length == 0) {
		document.getElementById("modal_content").innerHTML = "กรุณากรอกข้อมูลประเภทผู้ใช้น้ำ";
		$('#warningModal').modal();
	}
	// น้ำใช้ตั้งแต่, น้ำใช้ถึง, ฐานน้ำ   เป็นข้อมูลจำนวนเต็ม
	else if (isNaN(inputWaterTo) || isNaN(inputWaterEnd) || isNaN(inputWaterBase)
			|| inputWaterTo.indexOf(".") != -1 || inputWaterEnd.indexOf(".") != -1 || inputWaterBase.indexOf(".") != -1 
			|| parseInt(inputWaterTo) < 0 || parseInt(inputWaterEnd) < 0 || parseInt(inputWaterBase) < 0) {
		document.getElementById("modal_content").innerHTML = "กรุณากรอกข้อมูล น้ำใช้ตั้งแต่  น้ำใช้ถึง  หรือ ฐานน้ำ  เป็นตัวเลขจำนวนเต็ม";
		$('#warningModal').modal();
	}
	// เช็ค น้ำใช้ตั้งแต่ น้อยกว่า น้ำใช้ถึง
	else if (parseInt(inputWaterTo) >= parseInt(inputWaterEnd)) {
		document.getElementById("modal_content").innerHTML = "กรุณาตรวจสอบข้อมูลน้ำใช้ตั้งแต่ ต้องมีค่าน้อยกว่า น้ำใช้ถึง";
		$('#warningModal').modal();
	} else if (isNaN(inputWaterRate) || isNaN(inputWaterBaseCharge)) {
		document.getElementById("modal_content").innerHTML = "กรุณากรอกข้อมูลให้ถูกต้อง";
		$('#warningModal').modal();
	} else {
		// ทำให้เป็นเทศนิยม 2 ตำแหน่ง
		inputWaterRate = parseFloat(inputWaterRate).toFixed(2);
		inputWaterBaseCharge = parseFloat(inputWaterBaseCharge).toFixed(2);

		var strConfirm = "ยืนยันการบันทึกข้อมูลอัตราค่าน้ำ <br>"
				+ "&nbsp;&nbsp;&nbsp;น้ำใช้ตั้งแต่ : " + inputWaterTo
				+ " ลบ.ม.<br>" + "&nbsp;&nbsp;&nbsp;น้ำใช้ถึง : "
				+ inputWaterEnd + " ลบ.ม.<br>"
				+ "&nbsp;&nbsp;&nbsp;อัตราค่าน้ำ : " + inputWaterRate
				+ " บาท<br>" + "&nbsp;&nbsp;&nbsp;ฐานน้ำ : "
				+ inputWaterBase + "<br>"
				+ "&nbsp;&nbsp;&nbsp;ฐานเงิน : " + inputWaterBaseCharge
				+ " บาท<br>" + "&nbsp;&nbsp;&nbsp;ประเภทผู้ใช้น้ำ : "
				+ inputCustomerClassText;

		// Update
		if (statusUpdate != "") {
			document.getElementById("modal_content_confirmUpdateModal").innerHTML = strConfirm;
			$('#confirmUpdateModal').modal();
		}
		// Insert
		else {
			document.getElementById("modal_content_confirmSaveModal").innerHTML = strConfirm;
			$('#confirmSaveModal').modal();
		}
	}
}

function addDataTable() {

	var inputWaterTo = $('#inputWaterTo').val();
	var inputWaterEnd = $('#inputWaterEnd').val();
	var inputWaterRate = $('#inputWaterRate').val();
	var inputWaterBase = $('#inputWaterBase').val();
	var inputWaterBaseCharge = $('#inputWaterBaseCharge').val();
	var inputCustomerClassVal = $('#inputCustomerClass option:selected').val();

	$('#confirmSaveModal').modal('hide');

	var connect_db = getDbStatus();

	if (connect_db == "connect_db_fail") {
		// Connect database fail
	} else {
		$.ajax({
			type : 'POST',
			url : "CS12003Srvl",
			data : {
				process_type : "insert",
				inputWaterTo : inputWaterTo,
				inputWaterEnd : inputWaterEnd,
				inputWaterRate : inputWaterRate,
				inputWaterBase : inputWaterBase,
				inputWaterBaseCharge : inputWaterBaseCharge,
				inputCustomerClassVal : inputCustomerClassVal,
				url_address:$("#url_address").val(),
				agent_browser:$("#agent_browser").val()
			},
			success : function(data) {

				if (data == "fail") {
					$("#modal_content").html("ไมสามารถบันทึกข้อมูลได้ ");
					$('#warningModal').modal();
				} else if (data == "duplicate") {
					$("#modal_content").html(
							"ข้อมูลช่วงน้ำใช้มีอยู่ในระบบแล้ว");
					$('#warningModal').modal();
				} else if (data == "connect_db_fail") {
					$("#modal_content_errorModal").html(
							"ไม่สามารถติดต่อฐานข้อมูลได้");
					$('#errorModal').modal();
				} else {
					renderDataTable();

					$('#inputWaterTo').val("");
					$('#inputWaterEnd').val("");
					$('#inputWaterRate').val("");
					$('#inputWaterBase').val("");
					$('#inputWaterBaseCharge').val("");
					$('#oldCodeID').val("");
					$('#oldCodeID2').val("");
					$('#oldCustomerClass').val("");
					
					//$('#modal_content_successModal').html("บันทึกข้อมูลสำเร็จ");
					//$('#successModal').modal();
				}
			}
		});
	}
}

function editData(index, inputWaterTo, inputWaterEnd, inputWaterRate,
		inputWaterBase, inputWaterBaseCharge) {

	$('#inputWaterTo').val(inputWaterTo);
	$('#inputWaterEnd').val(inputWaterEnd);
	$('#inputWaterRate').val(inputWaterRate.trim().replace(",",""));
	$('#inputWaterBase').val(inputWaterBase.trim().replace(",",""));
	$('#inputWaterBaseCharge').val(inputWaterBaseCharge.trim().replace(",",""));

	$('#oldCodeID').val(inputWaterTo);
	$('#oldCodeID2').val(inputWaterEnd);
	$('#oldCustomerClass').val($('#inputCustomerClass option:selected').val());

	var table = $('#calRateDataTable').DataTable();
	table.$('tr').removeClass('selected');

	$('#calRateDataTable tr').each(function(row, tr) {
		var index_search = $(tr).find('td:eq(0)').text();
		if (index == index_search) {
			$(tr).addClass('selected');
		}
	});
}

function updateDataTable() {

	var inputWaterTo = $('#inputWaterTo').val();
	var inputWaterEnd = $('#inputWaterEnd').val();
	var inputWaterRate = $('#inputWaterRate').val().trim();
	var inputWaterBase = $('#inputWaterBase').val().trim();
	var inputWaterBaseCharge = $('#inputWaterBaseCharge').val().trim();
	var inputCustomerClassVal = $('#inputCustomerClass option:selected').val();

	var oldCodeID = $('#oldCodeID').val();
	var oldCodeID2 = $('#oldCodeID2').val();
	var oldCustomerClass = $('#oldCustomerClass').val();

	$('#confirmUpdateModal').modal('hide');

	var connect_db = getDbStatus();

	if (connect_db == "connect_db_fail") {
		// Connect database fail
	}
	{
		$.ajax({
			type : 'POST',
			url : "CS12003Srvl",
			data : {
				process_type : "update",
				
				inputWaterTo : inputWaterTo,
				inputWaterEnd : inputWaterEnd,
				inputWaterRate : inputWaterRate,
				inputWaterBase : inputWaterBase,
				inputWaterBaseCharge : inputWaterBaseCharge,
				inputCustomerClassVal : inputCustomerClassVal,

				oldCodeID : oldCodeID,
				oldCodeID2 : oldCodeID2,
				oldCustomerClass : oldCustomerClass,
				url_address:$("#url_address").val(),
				agent_browser:$("#agent_browser").val()
			},
			success : function(data) {

				if (data == "success") {
					
					$('#inputWaterTo').val("");
					$('#inputWaterEnd').val("");
					$('#inputWaterRate').val("");
					$('#inputWaterBase').val("");
					$('#inputWaterBaseCharge').val("");

					$('#oldCodeID').val("");
					$('#oldCodeID2').val("");
					$("#oldCustomerClass").val("");

					renderDataTable();
					
					//$('#modal_content_successModal').html("แก้ไขข้อมูลสำเร็จ");
					//$('#successModal').modal();
					
				} else if (data == "connect_db_fail") {
					$("#modal_content_errorModal").html(
							"ไม่สามารถติดต่อฐานข้อมูลได้");
					$('#errorModal').modal();
				}
			}
		});
	}
}

function deleteData(index, data2, data3, data4, data5, data6) {

	var table = $('#calRateDataTable').DataTable();
	table.$('tr').removeClass('selected');

	$('#calRateDataTable tr').each(function(row, tr) {
		var index_search = $(tr).find('td:eq(0)').text();
		if (index == index_search) {
			$(tr).addClass('selected');
		}
	});
	
	$("#dataDelete1").val(data2);	// น้ำใช้ตั้งแต่
	$("#dataDelete2").val(data3); 	// น้ำใช้ถึง

	document.getElementById("modal_content_confirmModal").innerHTML = "ยืนยันการลบข้อมูลอัตราค่าน้ำ <br>" 
			+ "&nbsp;&nbsp;&nbsp;น้ำใช้ตั้งแต่ : " + data2 + " ลบ.ม.<br>"
			+ "&nbsp;&nbsp;&nbsp;น้ำใช้ถึง :  " + data3 + " ลบ.ม.<br>"
			+ "&nbsp;&nbsp;&nbsp;อัตราค่าน้ำ  : " + data4.trim() + " บาท<br>"
			+ "&nbsp;&nbsp;&nbsp;ฐานน้ำ  : " + data5.trim() + " <br>"
			+ "&nbsp;&nbsp;&nbsp;ฐานเงิน : " + data6.trim() + " บาท";
	$('#confirmModal').modal();
}

function confirmdeleteData() {
	
	var data1 = $("#dataDelete1").val();
	var data2 = $("#dataDelete2").val();
	
	var inputCustomerClassVal = $('#inputCustomerClass option:selected').val();
	
	$('#confirmModal').modal('hide');
	
	var connect_db = getDbStatus();
	
	if (connect_db == "connect_db_fail") {
		// Connect database fail
	}
	{
		$.ajax({
			type : 'POST',
			url : "CS12003Srvl",
			data : {
				process_type : "delete",
				CUSTOMER_CLASS : inputCustomerClassVal,
				WATER_USED_START : data1,
				WATER_USED_END : data2,
				url_address:$("#url_address").val(), 
				agent_browser:$("#agent_browser").val()
			},
			success : function(data) {
				if(data == "success")
				{
					renderDataTable();
					//$('#modal_content_successModal').html("ลบข้อมูลสำเร็จ");
					//$('#successModal').modal();
				}
				else
				{
					$("#modal_content_errorModal").html("ไม่สามารถลบช้อมูลได้");
					$('#errorModal').modal();
				}
			}
		});	
	}
}
